1. Field of the Invention
This invention pertains in general to computer security, and more specifically to measuring catastrophic failure rates caused by a software update.
2. Description of the Related Art
Many applications and operating system now frequently support automatic updates. However, deploying a software update to a large number of users at a time can pose numerous problems since such updates sometimes introduce software bugs or cause other problems when released to the public. If an update contains a bug that will adversely affect the target systems to which the update was deployed, it is important for the sender of the update to become aware of this problem as soon as possible to mitigate the impact of this bug. Ideally, the sender of the update would like to know before the update is widely distributed to numerous target systems so that the problem can be corrected before a large number of systems are affected.
There are some existing approaches that monitor the application on the target system after the update to that application has been sent. These approaches provide methods for reporting back to a server crashes and other errors due to the update. Some of these approaches require user input, for example, requiring that the user provide information about problems experienced with the application. Others use a more automated system of monitoring and reporting errors. However all of these approaches fail to effectively manage catastrophic failures, such as those that cause the entire system to crash and prevent rebooting. If an update (e.g. an OS update) disables the system so that it can no longer boot, or disables the network access, the system cannot send any sort of report regarding problems that may have occurred with the update. Thus, systems that require the application or the user to report back to the server any problems experienced will fail because the report cannot be sent. Since the issue is not reported, the server believes there is no problem with the update and continues to send this update to additional computers, potentially causing further catastrophic failures and allowing the problem to spread.
Therefore, there is a need in the art for a system and method for determining whether a catastrophic failure (e.g., system disabling error) has occurred after receipt of the update, and for metering updates and correcting for such errors